package com.haiyi.activiti.engine.query.impl;

import com.haiyi.activiti.engine.model.entity.RuleEngine;
import com.haiyi.activiti.engine.framework.database.AbstractQuery;
import com.haiyi.activiti.engine.query.RuleEngineQuery;
import com.haiyi.activiti.engine.service.IRuleEngineService;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * <p> </p>
 *
 * <pre> Created: 2018/12/6 14:40 </pre>
 *
 * @author hlu
 * @version 1.0
 * @since JDK 1.7
 */
@Component
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class RuleEngineQueryImpl
        extends AbstractQuery<RuleEngineQuery, RuleEngine, IRuleEngineService>
        implements RuleEngineQuery{

    private String iid;
    private String expression;
    private String language;
    private String type;
    private Date createTime;
    private Date createTimeBefore;
    private Date createTimeAfter;
    private Date updateTime;
    private Date updateTimeBefore;
    private Date updateTimeAfter;
    private String creater;
    private String updater;
    private String status;
    private String deleteFlag;

    @Override
    public RuleEngineQuery iid(String iid) {
        this.iid = iid;
        return this;
    }

    @Override
    public RuleEngineQuery expression(String expression) {
        this.expression = expression;
        return this;
    }

    @Override
    public RuleEngineQuery language(String language) {
        this.language = language;
        return this;
    }

    @Override
    public RuleEngineQuery type(String type) {
        this.type = type;
        return this;
    }

    @Override
    public RuleEngineQuery status(String status) {
        this.status = status;
        return this;
    }

    @Override
    public RuleEngineQuery deleteFlag(String deleteFlag) {
        this.deleteFlag = deleteFlag;
        return this;
    }

    @Override
    public RuleEngineQuery creater(String creater) {
        this.creater = creater;
        return this;
    }

    @Override
    public RuleEngineQuery updater(String updater) {
        this.updater = updater;
        return this;
    }

    @Override
    public RuleEngineQuery createTime(Date date) {
        this.createTime = date;
        return this;
    }

    @Override
    public RuleEngineQuery createTimeBefore(Date date) {
        this.createTimeBefore = date;
        return this;
    }

    @Override
    public RuleEngineQuery createTimeAfter(Date date) {
        this.createTimeAfter = date;
        return this;
    }

    @Override
    public RuleEngineQuery updateTime(Date date) {
        this.updateTime = date;
        return this;
    }

    @Override
    public RuleEngineQuery updateTimeBefore(Date date) {
        this.updateTimeBefore=date;
        return this;
    }

    @Override
    public RuleEngineQuery updateTimeAfter(Date date) {
        this.updateTimeAfter = date;
        return this;
    }

    public String getIid() {
        return iid;
    }

    public String getExpression() {
        return expression;
    }

    public String getLanguage() {
        return language;
    }

    public String getType() {
        return type;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public Date getCreateTimeBefore() {
        return createTimeBefore;
    }

    public Date getCreateTimeAfter() {
        return createTimeAfter;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public Date getUpdateTimeBefore() {
        return updateTimeBefore;
    }

    public Date getUpdateTimeAfter() {
        return updateTimeAfter;
    }

    public String getCreater() {
        return creater;
    }

    public String getUpdater() {
        return updater;
    }

    public String getStatus() {
        return status;
    }

    public String getDeleteFlag() {
        return deleteFlag;
    }
}
